// 接口

// // 全部门店信息接口
// Mock.mock(/\/api\/storesData/, 'get', async () => {
//   try {
//     const data = await storeCRUD.getPaged(1, 1000);
//     return {
//       code: 200,
//       data: data || [],
//       message: '全部门店数据获取成功'
//     };
//   } catch (error) {
//     console.error('全部门店数据获取失败:', error);
//     return {
//       code: 500,
//       data: [],
//       message: error instanceof Error ? error.message : '服务器内部错误'
//     };
//   }
// });

// // 门店统计信息接口
// Mock.mock(/\/api\/stores\/stats/, 'get', async () => {
//   try {
//     const stats = await storeCRUD.getStats();
//     return {
//       code: 200,
//       data: {
//         total: stats.total || 0,
//         typeData: stats.typeData || [],
//         tagsData: stats.tagsData || [],
//         topStores: stats.topStores || []
//       },
//       message: '统计信息获取成功'
//     };
//   } catch (error) {
//     console.error('统计信息获取失败:', error);
//     return {
//       code: 500,
//       data: null,
//       message: '统计信息获取失败'
//     };
//   }
// });

// // 分页表格数据接口
// Mock.mock(/\/api\/stores\/paged/, 'get', async (config) => {
//   try {
//     const url = new URL(config.url || '', 'http://localhost');
//     const page = Math.max(1, parseInt(url.searchParams.get('page') || '1'));
//     const pageSize = Math.min(100, Math.max(1, parseInt(url.searchParams.get('pageSize') || '8')));

//     const [list, total] = await Promise.all([
//       storeCRUD.getPaged(page, pageSize),
//       storeCRUD.count()
//     ]);

//     return {
//       code: 200,
//       data: {
//         list: list.map(store => ({
//           id: store.basicInfo.storeId,
//           name: store.basicInfo.storeName,
//           type: store.basicInfo.storeType,
//           province: store.basicInfo.province,
//           city: store.basicInfo.city,
//           openDate: store.basicInfo.openingDate,
//           areaSize: store.basicInfo.areaSize,
//           tags: store.basicInfo.tags || [],
//           coordinates: store.basicInfo.coordinates
//         })),
//         pagination: {
//           page,
//           pageSize,
//           total,
//           totalPages: Math.ceil(total / pageSize),
//         }
//       },
//       message: '分页数据获取成功'
//     };
//   } catch (error) {
//     console.error('分页查询失败:', error);
//     return {
//       code: 500,
//       data: { list: [], pagination: null },
//       message: '分页数据获取失败'
//     };
//   }
// });

// // 创建门店
// Mock.mock(/\/api\/stores/, 'post', async (config) => {
//   try {
//     const newStore = JSON.parse(config.body || '{}');
//     if (!newStore.basicInfo?.storeId) {
//       return { code: 400, data: null, message: '缺少门店ID' };
//     }

//     await storeCRUD.add(newStore);
//     return { code: 201, data: newStore, message: '创建成功' };
//   } catch (error) {
//     console.error('创建门店失败:', error);
//     return {
//       code: 500,
//       data: null,
//       message: error instanceof Error ? error.message : '创建门店失败'
//     };
//   }
// });

// // 更新门店
// Mock.mock(/\/api\/stores\/([\w-]+)/, 'put', async (config) => {
//   try {
//     const id = config.url?.split('/').pop() || '';
//     const updateData = JSON.parse(config.body || '{}');

//     if (!id) return { code: 400, data: null, message: '无效的门店ID' };

//     await storeCRUD.update(id, updateData);
//     return { code: 200, data: null, message: '更新成功' };
//   } catch (error) {
//     console.error('更新门店失败:', error);
//     return {
//       code: error instanceof Error && error.message.includes('不存在') ? 404 : 500,
//       data: null,
//       message: error instanceof Error ? error.message : '更新失败'
//     };
//   }
// });

// // 删除门店
// Mock.mock(/\/api\/stores\/([\w-]+)/, 'delete', async (config) => {
//   try {
//     const id = config.url?.split('/').pop() || '';
//     if (!id) return { code: 400, data: null, message: '无效的门店ID' };

//     const exists = await storeCRUD.getById(id);
//     if (!exists) return { code: 404, data: null, message: '门店不存在' };

//     await storeCRUD.delete(id);
//     return { code: 200, data: null, message: '删除成功' };
//   } catch (error) {
//     console.error('删除门店失败:', error);
//     return {
//       code: 500,
//       data: null,
//       message: error instanceof Error ? error.message : '删除失败'
//     };
//   }
// });